// 实际开发中进行类型推导时，可能会自动推导出时never类型，但是很少用到他
function foo(): never {
  throw new Error('123')
}
foo()

// 工具类never的使用
function handleMessage(message: string | number | boolean) {
  switch (typeof message) {
    case 'string':
      console.log(message.length)
      break
    case 'number':
      console.log(message)
      break
    case 'boolean':
      console.log(Number(message))
      break
    default:
      // 不能将boolean类型转换未never，这里用never类型，可以很好的提示coder需要继续处理而外的类型
      const check: never = message
  }
}

handleMessage('aaa')
handleMessage(122)
handleMessage(true)

export {}